/* Main */
.col-primary {
    color: var(--col-primary);
}
.col-secondary {
    color: var(--col-secondary);
}
.bg-primary{
    background-color: var(--col-primary) !important;
    border: none !important;
}
.bg-black{
    background-color: var(--col-black) !important;
    border: none !important;
}

.btn{
    opacity: 0.8 !important;
    transition: all 0.3s ease;
    opacity: 1 !important;
}
.btn:hover{
    opacity: 1 !important;
}

.btn-dark:hover{
    background-color: var(--col-black) !important;
}

.btn-xl {
    font-size: 1.2rem !important;
}

.link-fancy:hover{
    color: var(--col-primary);
}
.link-fancy:before {
    content: '';
    display: block;
    height: 1px;
    width: 100%;
    transform-origin: left;
    position: absolute;
    left: 0;
    bottom: 0;
    background-image: linear-gradient(90deg,var(--col-primary) 0,var(--col-primary) 25%,transparent 0,transparent 50%,var(--col-primary) 0,var(--col-primary) 75%,transparent 0,transparent);
    background-repeat: no-repeat;
    background-position: 0;
    background-size: 400% 1px;
    transition: background-position .8s ease-in-out;
}

/* Header */
nav.navbar{
    background-color: rgba(255, 255, 255, 1) !important;
    padding-top: 16px !important;
    padding-bottom: 16px !important;
}
nav.navbar img.logo{
    width: 180px;
    max-width: 90%;
}

nav.navbar .nav-item a{
    transition: 0.5s ease;
}
nav.navbar .nav-item a:hover{
    color: var(--col-primary);
}

.contact_icon{
    width: 16px;
    opacity: 1;
    margin-right: 6px;
    position: relative;
    top: -2px;
}

/* Footer */
footer img.logo{
    width: 180px;
    max-width: 90%;
}

/* Hero */
/* Section with background image */
#top .bg-cover {
    background-size: cover;
    background-position: center;
    position: relative;
    z-index: 1;
}

#hero_cover{
    background-image: url('/img/webp/interior11.webp');
}

@media (max-width: 540px) {

    #top{
        overflow: visible !important;
    }

    #hero_cover{
        background-image: none;
        background-color: var(--col-primary);
        transition: all 0.2s !important;
    }

    #top h1.display-3 {
        font-weight: 600 !important;
        font-size: 2.5rem !important;
        letter-spacing: -1px !important;
        line-height: 1.4 !important;
        color: var(--col-secondary) !important;
    }

    #top p {
        font-size: 1.4rem !important;
    }

    #top a.btn-xl{
        background-color: var(--col-secondary) !important;
        margin-right: 0 !important;
        width: 100% !important;
    }

    #top .col-lg-7.py-vh-6{
        padding-bottom: 20px !important;
        position: relative !important;
    }

    #top .col-lg-7.py-vh-6:after{
        content: url('/img/right-thin-chevron.svg');
        position: absolute;
        bottom: 0;
        left: 0;
        width: 100%;
        height: 20px;
        color: var(--col-black) !important;
        z-index: 10 !important;
        transform: rotate(90deg) scale(0.05);
        left: 20px;
        bottom: -40px;
    }
}

@media (min-width: 541px) {

    #top h1.display-3 {
        font-weight: 600 !important;
        font-size: 4.5rem !important;
        letter-spacing: -1px !important;
        line-height: 1.26 !important;
    }
}

/* Text background for better readability */
.padded-multiline {
    display: inline;
    background-color: #f8f9fa;
    padding: 0 10px;
    box-decoration-break: clone;
    -webkit-box-decoration-break: clone; /* For Safari */
}

/* Text styles */
#top h1, #top p {
    color: var(--col-black); /* Text color */
    z-index: 200;
    position: relative;
    display: inline; /* Ensure inline display for box-decoration-break to work */
    line-height: 1.4 !important;
}
#top p {
    font-size: 1.6rem !important;
}

#top a {
    z-index: 2;
    position: relative;
    display: block; /* Ensure inline display for box-decoration-break to work */
    width: fit-content;
    opacity: 1.0 !important;
}


/* Slick Slider */
.slick-carousel .slick-prev, .slick-carousel .slick-next {
    width: 30px;
    height: 30px;
    z-index: 1;
}
.slick-carousel .slick-prev {
    left: -40px;
}
.slick-carousel .slick-next {
    right: -40px;
}
.slick-carousel .slick-prev:before, .slick-next:before {
    font-size: 30px;
    color: #000;
}
.slick-carousel .slick-slide {
    height: 150px; /* Ajustez cette hauteur selon vos besoins */
    margin: 0 80px;
}

.slick-carousel .slick-slide .wrapper{
    height: 100%;
    display: flex;
    justify-content: center;
    align-items: center;
}
.slick-carousel .slick-slide img {
    max-height: 100%;
    max-width: 100%;
    object-fit: contain;
    display: block;
}

/* Slick realisations */
.slick-realisations{
    aspect-ratio: 1/1 !important;
    width: 100% !important;
}
.slick-realisations .slick-list{
    height: 100% !important;
    width: 100% !important;
}
.slick-realisations .slick-track{
    height: 100% !important;
}
.slick-realisations .slick-track img{
    height: 100% !important;
    width: 100% !important;
    object-fit: cover;
}

.slick-realisations img {
    /*filter: grayscale(100%);*/
    transition: all 0.3s ease;
    /*opacity: 0.7;*/
}

.slick-realisations img:hover {
    /*filter: grayscale(0%);*/
    opacity: 1.0;
}

.slick-realisations img.saturate{
    /*filter: grayscale(0%);*/
    opacity: 1.0;
}

.realisation-item {
    cursor: pointer;
    padding: 10px;
    position: relative;
    transition: 1s ease !important;
}

.realisation-item.active {
    background-color: var(--col-primary);
    color: #FFFFFF;
}
.hover-bg {
    position: absolute;
    top: 0;
    left: 0;
    right: 0;
    height: 100%;
    background-color: var(--col-primary);
    z-index: 0;
    transition: all 0.3s ease;
}
.realisation-list {
    position: relative;
}

/* Contact */

#contact .form-control {
    color: #FFFFFF;
    background-color: rgba(var(--bs-light-rgb), var(--bs-bg-opacity)) !important;
}

#contact .form-control:focus {
    background-color: #444;
    color: #fff;
    border-color: var(--col-primary);
}

#newsletter input.form-check{
    float: left;
    margin-right: 10px;
}

#newsletter .input--hidden{
    display: none !important;
}

#g-recaptcha-response {
    display: block !important;
    position: absolute;
    margin: -50px 0 0 0 !important;
    z-index: -999999;
    opacity: 0;
}

.map-responsive {
    overflow: hidden;
    padding-bottom: 56.25%;
    position: relative;
    height: 0;
}

.map-responsive iframe {
    left: 0;
    top: 0;
    height: 100%;
    width: 100%;
    position: absolute;
}

/* Newsletter */
.sib-form-container a {
    text-decoration: none !important;
    color: var(--col-primary) !important;
}